package com.guoranhao.business.model;

import com.guoranhao.tool.model.BaseModel;
import com.guoranhao.tool.model.FieldComment;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
@Accessors(chain = true)
public class Areas extends BaseModel {
    /**
     * 自增ID
     */
    @FieldComment(value="自增ID")
    @NotNull(message="自增ID")
    private Long id;

    /**
     * 地区名称
     */
    @FieldComment(value="地区名称")
    @NotNull(message="地区名称")
    private String name;

    /**
     * 地区简称
     */
    @FieldComment(value="地区简称")
    @NotNull(message="地区简称")
    private String shortName;

    /**
     * 地区拼音
     */
    @FieldComment(value="地区拼音")
    @NotNull(message="地区拼音")
    private String locationSpell;

    /**
     * 城市id
     */
    @FieldComment(value="城市id")
    @NotNull(message="城市id")
    private Integer cityId;

    /**
     * 城市名称
     */
    @FieldComment(value="城市名称")
    @NotNull(message="城市名称")
    private String cityName;

    /**
     * 城市拼音
     */
    @FieldComment(value="城市拼音")
    @NotNull(message="城市拼音")
    private String citySpell;

    /**
     * 省份id
     */
    @FieldComment(value="省份id")
    @NotNull(message="省份id")
    private Integer provinceId;

    /**
     * 省份名称
     */
    @FieldComment(value="省份名称")
    @NotNull(message="省份名称")
    private String provinceName;

    /**
     * 省份拼音
     */
    @FieldComment(value="省份拼音")
    @NotNull(message="省份拼音")
    private String provinceSpell;

    /**
     * 区县id
     */
    @FieldComment(value="区县id")
    @NotNull(message="区县id")
    private Integer areaId;

    /**
     * 首字母
     */
    @FieldComment(value="首字母")
    private String letter;

    /**
     * 市代码
     */
    @FieldComment(value="市代码")
    @NotNull(message="市代码")
    private String cityCode;

    /**
     * 经度
     */
    @FieldComment(value="经度")
    private String lng;

    /**
     * 纬度
     */
    @FieldComment(value="纬度")
    private String lat;

    /**
     * 排序
     */
    @FieldComment(value="排序")
    private Integer sort;

    /**
     * 是否有效
     */
    @FieldComment(value="是否有效")
    @NotNull(message="是否有效")
    private Integer status;

    /**
     * 创建时间
     */
    @FieldComment(value="创建时间")
    @NotNull(message="创建时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @FieldComment(value="修改时间")
    @NotNull(message="修改时间")
    private Date updateTime;

    public void initWithDefaultValue() {
        this.name = "";
        this.shortName = "";
        this.locationSpell = "";
        this.cityId = 0;
        this.cityName = "";
        this.citySpell = "";
        this.provinceId = 0;
        this.provinceName = "";
        this.provinceSpell = "";
        this.areaId = 0;
        this.letter = "";
        this.cityCode = "";
        this.lng = "";
        this.lat = "";
        this.sort = 0;
        this.status = 0;
        this.createTime = new Date();
        this.updateTime = new Date();
    }
}